<template>
	<view class="time" :style="justifyLeft">
		<text class="red" v-if="tipText!=' '">{{ tipText }}</text>
		<text class="styleAll" v-if="isDay === true && day > 0">{{ day }}</text>
		<text class="timeTxt red" v-if="dayText && day > 0">{{ dayText }}</text>
		<text class="styleAll">{{ hour }}</text>
		<text class="timeTxt red" v-if="hourText">{{ hourText }}</text>
		<text class="styleAll">{{ minute }}</text>
		<text class="timeTxt red" v-if="minuteText">{{ minuteText }}</text>
		<text class="styleAll">{{ second }}</text>
		<text class="timeTxt red" v-if="secondText">{{ secondText }}</text>
	</view>
</template>

<script>
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者，助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件，未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
export default {
	name: 'countDown',
	props: {
		justifyLeft: {
			type: String,
			default: ''
		},
		//距离开始提示文字
		tipText: {
			type: String,
			default: '倒计时'
		},
		dayText: {
			type: String,
			default: '天'
		},
		hourText: {
			type: String,
			default: '时'
		},
		minuteText: {
			type: String,
			default: '分'
		},
		secondText: {
			type: String,
			default: '秒'
		},
		datatime: {
			type: Number,
			default: 0
		},
		isDay: {
			type: Boolean,
			default: true
		},
		id: {
			type: String | Number,
			default: ''
		},
		isSurplus: {
			type: Boolean,
			default: false
		}
	},
	data: function() {
		return {
			day: '00',
			hour: '00',
			minute: '00',
			second: '00',
			intDiff: '',
			dataTime: this.datatime
		};
	},
	created: function() {
		console.log(this.tipText)
		this.show_time();
	},
	mounted: function() {},
	methods: {
		show_time: function() {
			// let that = this;
			// var datatime = 0;
			// if (that.isSurplus) {
			// 	datatime = that.datatime;
			// }
			// function runTime() {
			// 	//时间函数
			// 	// var intDiff = 0;
			// 	if (that.isSurplus) {
			// 		datatime--;
			// 		that.intDiff = datatime;
			// 	} else {
			// 		that.intDiff = that.datatime - Date.parse(new Date()) / 1000; //获取数据中的时间戳的时间差；
			// 	}
			// 	let day = 0,
			// 		hour = 0,
			// 		minute = 0,
			// 		second = 0;
			// 		console.log(that.intDiff);
			// 	if (that.intDiff > 0) {
			// 		//转换时间
			// 		if (that.isDay === true) {
			// 			day = Math.floor(that.intDiff / (60 * 60 * 24));
			// 		} else {
			// 			day = 0;
			// 		}
			// 		hour = Math.floor(that.intDiff / (60 * 60)) - day * 24;
			// 		minute = Math.floor(that.intDiff / 60) - day * 24 * 60 - hour * 60;
			// 		second = Math.floor(that.intDiff) - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60;
			// 		if (hour <= 9) hour = '0' + hour;
			// 		if (minute <= 9) minute = '0' + minute;
			// 		if (second <= 9) second = '0' + second;
			// 		that.day = day;
			// 		that.hour = hour;
			// 		that.minute = minute;
			// 		that.second = second;
			// 	} else {
			// 		that.day = '00';
			// 		that.hour = '00';
			// 		that.minute = '00';
			// 		that.second = '00';
			// 		clearInterval(runTime);
			// 		uni.$emit('endTime', that.id);
			// 	}
			// }
			// runTime();
			let that = this;
			var londTime = setInterval(function(){
				if (that.isSurplus) {
					that.dataTime--;
					that.intDiff = that.dataTime;
				} else {
					that.intDiff = that.dataTime - Date.parse(new Date()) / 1000; //获取数据中的时间戳的时间差；
				}
				let day = 0,
					hour = 0,
					minute = 0,
					second = 0;
				if (that.intDiff > 0) {
					//转换时间
					if (that.isDay === true) {
						day = Math.floor(that.intDiff / (60 * 60 * 24));
					} else {
						day = 0;
					}
					hour = Math.floor(that.intDiff / (60 * 60)) - day * 24;
					minute = Math.floor(that.intDiff / 60) - day * 24 * 60 - hour * 60;
					second = Math.floor(that.intDiff) - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60;
					if (hour <= 9) hour = '0' + hour;
					if (minute <= 9) minute = '0' + minute;
					if (second <= 9) second = '0' + second;
					that.day = day;
					that.hour = hour;
					that.minute = minute;
					that.second = second;
				} else {
					that.day = '00';
					that.hour = '00';
					that.minute = '00';
					that.second = '00';
					// clearInterval(runTime);
					uni.$emit('endTime', that.id);
				}
				if(that.intDiff <= 0) {
					clearInterval(londTime);
					console.log(that.intDiff);
				}
			}, 1000);
			
			// if(that.intDiff <= 0) {
			// 	clearInterval(runTime);
			// 	console.log(that.intDiff);
			// }
		}
	}
};
</script>

<style>
.time {
	display: flex;
	justify-content: center;
}
.red {
	color: #fc4141;
	margin: 0 4rpx;
}
</style>
